home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1991: Code Warrior / bincue / Code Warrior.bin / Tools & Apps (Moof!) / Networking & Communications / TokenTalk Licensing Disk 3.2 / TokenTalkSampleScript.r < prev   
Encoding:
Text File  |  1991-05-02  |  6.2 KB  |  252 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        TokenTalkSampleScript.r
  3.  
  4.     Contains:    Script to create a TokenTalk Installer
  5.  
  6.     Copyright:    © 1991 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #include "InstallerTypes.r"
  11. #include "Types.r"
  12.  
  13. #define SystemFile            1
  14. #define System6Installation    2
  15. #define System7Installation    3
  16. #define EasyInstall6        4
  17. #define EasyInstall7        5
  18. #define NoSystem            6
  19. #define HasSystem            7
  20. #define aSystem6            8
  21. #define aSystem7            9
  22. #define HasEasyInstall        10
  23. #define NeedAtalk            11
  24. #define HasSomething        12
  25. #define HasNothing            13
  26. #define HasAnyCard            14
  27. #define CmtTokenTalk        15
  28.  
  29. #define AtlkFolder            "TokenTalk Installer:AppleTalk Files"
  30. #define ATCustomShowFlag    showsOnCustom
  31. #define TTCustomShowFlag    showsOnCustom
  32.  
  33. resource 'vers' (1, purgeable)
  34. {
  35.     1, 0, release, 0,
  36.     verUS,
  37.     "1.0",
  38.     "1.0, © Apple Computer, Inc. 1990-1991"
  39. };
  40.  
  41. resource 'vers' (2, purgeable)
  42. {
  43.     1,0, release, 0,
  44.     verUS,
  45.     "1.0",
  46.     "TokenTalk Installer"
  47. };
  48.  
  49. resource 'infs' (SystemFile) 
  50. {
  51.     'zsys',                                /* File Type        */ 
  52.     'MACS',                                /* File Creator        */
  53.     0x00,                                /* Creation Date    */ 
  54.     noSearchForFile,
  55.     TypeCrNeedNotMatch,
  56.     "special-macs:System"                    /* path name        */
  57. };
  58.  
  59. #include "AppleTalkInstall.r"
  60. #include "TokenTalkInstall.r"
  61.  
  62. /*    -----------------------------------------------------------------
  63.     Assert aSystem6 if we are on System 6 or better
  64.     ----------------------------------------------------------------- */
  65.  
  66. resource 'inrl' (System6Installation) 
  67. {
  68.     format0
  69.     {{
  70.         checkFileVersion {SystemFile, 6, 4, release, 0},
  71.         addAssertion {{aSystem6}}
  72.     }};
  73. };
  74.  
  75. /*    -----------------------------------------------------------------
  76.     Assert aSystem7 if we are on System 7 or better
  77.     ----------------------------------------------------------------- */
  78.  
  79. resource 'inrl' (System7Installation) 
  80. {
  81.     format0
  82.     {{
  83.         checkFileVersion {SystemFile, 7, 0, release, 0},
  84.         addAssertion {{aSystem7}}
  85.     }};
  86. };
  87.  
  88. /*    -----------------------------------------------------------------
  89.     Assert HasSomething if a TokenTalk card is present
  90.     ----------------------------------------------------------------- */
  91.  
  92. resource 'inrl' (HasAnyCard)
  93. {
  94.     format0
  95.     {{
  96.         /* Here, we would probably invoke an 'infn' to determine if
  97.         ** the right kind of card is present
  98.         */
  99.         AddAssertion {{HasSomething}}
  100.     }};
  101. };
  102.  
  103. /*    -----------------------------------------------------------------
  104.     Add EasyInstall of TokenTalk if System 6 and HasSomething is
  105.     asserted
  106.     ----------------------------------------------------------------- */
  107.  
  108. resource 'inrl' (EasyInstall6)
  109. {        
  110.     format0
  111.     {{
  112.         checkAllAssertions {{aSystem6,HasSomething}},
  113.         AddUserDescription {"Click Install to place\n"},
  114.         AddAssertion {{HasEasyInstall}},
  115.         AddUserDescription {"• TokenTalk\n"},
  116.         addPackages {{NPakTokenTalk}}
  117.     }};
  118. };
  119.  
  120. /*    -----------------------------------------------------------------
  121.     Add EasyInstall of TokenTalk if System 7 and HasSomething is
  122.     asserted
  123.     ----------------------------------------------------------------- */
  124.  
  125. resource 'inrl' (EasyInstall7)
  126. {        
  127.     format0
  128.     {{
  129.         checkAllAssertions {{aSystem7,HasSomething}},
  130.         AddAssertion {{HasEasyInstall}},
  131.         AddUserDescription {"Click Install to place\n"},
  132.         AddUserDescription {"• TokenTalk\n"},
  133.         addPackages {{NPakTokenTalk}}
  134.     }};
  135. };
  136.  
  137. /*    -----------------------------------------------------------------
  138.     Add the AppleTalk package if HasEasyInstall is asserted AND
  139.     we are installing on System 6
  140.     ----------------------------------------------------------------- */
  141.  
  142. resource 'inrl' (NeedATalk)
  143. {
  144.     format0
  145.     {{
  146.         /* Don't install AppleTalk version 56 for System 7
  147.         */
  148.         checkAllAssertions {{HasEasyInstall,aSystem6}},
  149.         AddUserDescription {"• AppleTalk version 56.0\n"},
  150.         addPackages {{NPak6ATalk}}
  151.     }};
  152. };
  153.  
  154. /*    -----------------------------------------------------------------
  155.     Check if System 6 or System 7 was present
  156.     ----------------------------------------------------------------- */
  157.  
  158.  
  159. resource 'inrl' (HasSystem)
  160. {
  161.     format0
  162.     {{
  163.         checkAnyAssertion {{aSystem6, aSystem7}}
  164.     }};
  165. };
  166.  
  167. /*    -----------------------------------------------------------------
  168.     Report no System file to the user - This is a problem.
  169.     ----------------------------------------------------------------- */
  170.  
  171. resource 'inrl' (NoSystem)
  172. {
  173.     format0
  174.     {{
  175.         checkAllAssertions {{HasSomething}},
  176.         reportVolError {
  177.         "The selected disk named '^0' has no installed System.  TokenTalk cannot be"
  178.         " installed on this disk.  Please click Switch Disk to choose a different disk or"
  179.         " insert a floppy disk."}
  180.     }};
  181. };
  182.  
  183. /*    -----------------------------------------------------------------
  184.     Check if any TokenTalk cards were found
  185.     ----------------------------------------------------------------- */
  186.  
  187. resource 'inrl' (hasSomething)
  188. {
  189.     format0
  190.     {{
  191.         checkAllAssertions {{HasSomething}}
  192.     }};
  193. };
  194.  
  195. /*    -----------------------------------------------------------------
  196.     Report no Ethernet cards found in the system
  197.     ----------------------------------------------------------------- */
  198.  
  199. resource 'inrl' (hasNothing)
  200. {
  201.     format0
  202.     {{
  203.         reportSysError {"Your Macintosh has no Token ring cards installed.\n"}
  204.     }};
  205. };
  206.  
  207. /*    -----------------------------------------------------------------
  208.     The comment for the EtherTalk custom install
  209.     ----------------------------------------------------------------- */
  210.  
  211. resource 'icmt' (CmtTokenTalk) 
  212. {
  213.     ATReleaseDate,                        /* Release Date    */
  214.     100,                                /* Version 1.0    */
  215.     IconTTalk,                            /* Icon ID defined in TokenTalkInstall.r */
  216.     "This installs TokenTalk and the Token ring driver for the <your "
  217.     "card name here>.  If you are doing a custom install on System 6, be "
  218.     "sure to install AppleTalk version 56 as well."
  219. };
  220.  
  221. /*    -----------------------------------------------------------------
  222.     The Framework Rule
  223.     ----------------------------------------------------------------- */
  224.  
  225. resource 'infr' (0)
  226. {
  227.     format0
  228.     {{
  229.         /* Determine the System type    */
  230.         pickFirst,    {System7Installation, System6Installation},
  231.         
  232.         /* Determine if any cards are present    */
  233.         pickAll,    {HasAnyCard},
  234.         
  235.         /* Check if any Easy Installs can be done    */
  236.         pickFirst,    {EasyInstall6, EasyInstall7},
  237.         
  238.         /* Add AppleTalk if we had an Easy Install    */
  239.         pickAll,    {NeedATalk},
  240.         
  241.         /* If no cards in System - report to user    */
  242.         pickFirst,    {
  243.                         HasSomething,
  244.                         HasNothing
  245.                     },
  246.         /* If we had cards, but no system file - report to user    */
  247.         pickFirst,    {
  248.                         HasSystem,
  249.                         NoSystem
  250.                     }
  251.     }};
  252. };